10 X=X+1 20 IF X=2 THEN LOAD"GE.SPRITES",8,1 30 IF X=3 THEN LOAD"GE.MC UTILS",8,1 100 GOSUB10000 110 PRINT"[147][144]-[213]TILITIES [196]EMO-" 120 PRINT" [183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]" 130 PRINT" [212]HIS IS A SHORT [196]EMO TO SHOW AND" 140 PRINT" EXPLAIN THE DIFFERENT ROUTINES." 150 PRINT" [212]O USE THE [213]TILITIES, FIRST:" 160 PRINT"[204][207][193][196]"Q$"[199][197].[205][195] [213][212][201][204][211]"Q$",8,1" 170 PRINT"[212]HEN DEFINE THE FOLLOWING VARIABLES WITHIN [194][193][211][201][195]:" 180 PRINT" [193][212]=49152 : [211][201]=49155 : [211][197]=49158" 190 PRINT" [198][216]=49161 : [208][213]=49164 : [195][211]=49167" 200 PRINT" [210][214]=49170 : [211][195]=49173" 210 PRINT" [212]HIS ALLOWS YOU TO USE [211][217][211] [198][216],1" 220 PRINT" RATHER THAN [211][217][211][160]49161,1 WHICH IS" 230 PRINT" SLOWER AND MORE DIFFICULT TO" 240 PRINT" UNDERSTAND." 250 GOSUB 5000 300 PRINT"[147][208]RINT AT" 310 PRINT" [183][183][183][183][183][183][183][183]" 320 PRINT" [212]HIS ROUTINE ALLOWS YOU TO PRINT" 330 PRINT" ANYWHERE ON THE SCREEN WITHOUT USING" 340 PRINT" AWKWARD CURSOR CONTROLS." 350 PRINT"[211][217][211] [193][212],[216],[217],STRING" 360 PRINT" E.G [211][217][211][160][193][212],1,1,"Q$"[200]ELLO!"Q$ 370 PRINT" [211][217][211][160][193][212],0,1,A$" 380 PRINT" [211][217][211] [193][212],2,2,B$+"Q$"[200]I!"Q$ 390 PRINT"[216]: 0-39 , [217]: 0-24" 400 GOSUB 5000 410 FOR A=1 TO 15:POKE646,RND(1)*16:SYS AT,RND(1)*34,RND(1)*5+18,"[200]ELLO!!" 420 FOR B=1 TO 50:NEXT 430 NEXT 440 GOSUB 5000 500 PRINT"[144][147][211]PRITE [208]ULSE" 510 PRINT" [183][183][183][183][183][183][183][183][183][183][183][183]" 520 PRINT" [212]HIS ROUTINE TURNS ON [211]PRITE 1" 530 PRINT" AND SETS UP AN INTERRUPT AT $0314 ([201][210][209])" 540 PRINT" [212]HIS MAKES THE SPRITE PULSE:" 550 PRINT"[211][217][211] [211][201],[211]PEED (1-255)" 560 GOSUB 5000 570 SYS SI,5:POKE 53249,175 580 FOR A=1 TO 3:FOR B=60 TO 255 590 POKE 53248,B:NEXT B,A 600 POKE 53248,174 610 SYS AT,1,10,"[212]HE SPRITE CAN BE MADE TO FLASH" 620 PRINT" BY [208][207][203]ING 251,1: " 630 GOSUB 5000:POKE 251,1 640 SYS AT,1,13,"[212]O STOP THIS:" 650 PRINT"[208][207][203][197] 251,0":GOSUB 5000 660 POKE 251,0 670 GOSUB 5000 700 PRINT"[147][211]ELECT" 710 PRINT" [183][183][183][183][183][183]" 720 PRINT" [212]HIS MAKES THE SPRITE FLASH FOR A" 730 PRINT" SHORT TIME DEPENDING ON '[211]PEED'. [201]T" 740 PRINT" DOES THIS BY [208][207][203]ING 251,1 FOR A TIME" 750 PRINT" THEN RESETING IT TO 0." 760 PRINT"[212]HE ROUTINE ALSO CHANGE THE SPRITE" 770 PRINT" POINTER IN 2040 FROM 13 TO 15 ([197][207][210] #2)" 780 PRINT" AND BACK AGAIN:" 790 PRINT"[211][217][211] [211][197],[211]PEED (1-255)" 800 GOSUB 5000:SYS SE,60 810 GOSUB 5000:SYS SE,60 820 GOSUB 5000 830 POKE 53269,0:POKE 54296,15 900 PRINT"[147][211]OUND [198][216]" 910 PRINT"[183][183][183][183][183][183][183][183]" 920 PRINT" [212]HESE ROUTINES MAKE A FEW SIMPLE" 930 PRINT" SOUNDS WHICH CAN BE INCORPORATED INTO" 940 PRINT" A [194][193][211][201][195][160]GAME. 950 [153]"(null)EMEMBER TO TURN ON THE VOLUME:" 960 [153]" (null)(null)(null)VAL 54296,1-15" 970 [153]"(null)(null)(null) ASC(null),(null)OUND (0-3)" 980 [153]"(null)OUNDS: 0 'DING'" 990 [153]" 1 'BARP'" 1000 [153]" 2 LAUNCH A BULLET/MISSILE ETC." 1010 [153]" 3 EXPLOSION" 1020 [153]"((null)(null)(null)VAL 54276,128 IS NEEDED TO FINISH 2)" 1030 [129] X[178]0 [164] 3:[141] 5000 1040 [158] FX,X:[139] X[179][177] 2 [167] 1060 1050 [129] A[178]1 [164] 1000:[130]:[151] 54276,128 1060 [130] 1070 [141] 5000 1100 [153]"LOAD(null)ULSE AND LENHASE (null)IGHTS" 1110 [153]" USRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSRUSR" 1120 [153]" (null)HESE TWO ROUTINES ALLOW TEXT TO BE" 1130 [153]" PULSED." 1140 [153]"(null)(null)(null) (null)(null) OR LEN(null),(null),(null),(null)ENGTH (1-250),ASCLAG" 1150 [153]"RIGHT$F ASCLAG IS 1-255, THE LINE ATNPEEK(null)(null)VAL WILL" 1160 [153]" BE PULSED TOO:" 1170 X[178]0:[141] 5000 1180 [158] RV,1,1,22 1190 RT[178]PU:P[178]30:[141] 4000 1200 [158] AT,1,13,"(null)HE SYNTAX FOR LENHASE (null)IGHTS IS THE" 1210 [153]" SAME, BUT THE EFFECT IS THIS:" 1220 [141] 5000 1230 RT[178]CS:P[178]20:[141] 4000 1240 [141] 5000 1300 [153]"LOAD(null)EVERSE" 1310 [153]" USRUSRUSRUSRUSRUSRUSR" 1320 [153]" (null)HIS ROUTINE REVERSES CHARACTERS ON" 1330 [153]" SCREEN SO THEY CAN BE HIGHLIGHTED." 1340 [153]" (null)(null)(null) (null)(null),(null),(null),LENGTH" 1350 [141] 5000 1360 [143] SYS RV,23,6,11 1370 [158] AT,1,10,"(null)HIS COULD BE USED WITH THE PULSE" 1380 [153]" ROUTINE TO PRODUCE A SELECTION BAR:" 1390 [129] A[178]1 [164] 5:[153]A;"CMD: OPTION ";[199](A[170]96):[130] 1400 [153]" 6: ASCINISH ! (ASCIRE TO (null)ELECT)" 1410 [153]" ((null)OVE JOYSTICK UP AND DOWN)" 1420 LI[178]13:[158] RV,1,LI,11 1430 J[178][194](56320):[139] J[178]127 [167] 1430 1440 U[178]J[178]126:D[178]J[178]125 1450 [139] LI[178]18 [175] J[178]111 [167] 1600 1460 [139] U[170]D[178]0 [167] 1430 1470 OL[178]LI 1480 LI[178]LI[171]U[172](LI[177]13)[170]D[172](LI[179]18) 1490 [158] RV,1,OL,11 1500 [158] RV,1,LI,11 1510 [158] PU,1,LI,11,20,0 1520 [137] 1430 1600 [153]"LOAD(null)CROLL" 1610 [153]" USRUSRUSRUSRUSRUSR" 1620 [153]" (null)HIS IS A USEFUL AND VERY EYECATCHING" 1630 [153]" ROUTINE TO SCROLL MESSAGES. (null)O DO THIS" 1640 [153]" PUT THE MESSAGE OR TEXT IN A STRING:" 1650 [153]" (null)VAL$="Q$"LEFT$ELLO (null)HERE!"Q$" THEN:" 1660 [153]" (null)(null)(null) (null)LEN,(null)VAL,(null),(null),(null)ENGTH,(null)PEED,ASCLAG" 1670 [153]" ATNFTER THE (null)(null)(null) (null)LEN, THE ROUTINE EXPECTS" 1680 [153]" A ONE OR TWO LETTER STRING NAME. STR$ON'T" 1690 [153]" PUT THE '$' SIGN! 1700 PRINT" [201]F [198]LAG IS 0, THE MESSAGE WILL SCROLL" 1710 PRINT" OFF THE SCREEN COMPLETELY. [201]F IT IS" 1720 PRINT" 1-255, THE SCROLLING WILL STOP WHEN" 1730 PRINT" THE LAST CHARACTER OF THE STRING IS" 1740 PRINT" PRINTED." 1750 PRINT" [212]O SCROLL PART OF AN ARRAY" 1760 PRINT" E.G. [218][218]$([216]), PUT [205][197]$=[218][218]$([216]) THEN THE" 1770 PRINT" [211][217][211] [211][195],[205][197],..." 1780 GOSUB 5000 1800 PRINT"[147][211]CROLL" 1810 PRINT" [183][183][183][183][183][183]" 1820 PRINT" [196]URING THE SCROLLING, PRESSING SPACE" 1830 PRINT" OF THE [198]IRE [194]UTTON WILL SPEED UP THE" 1840 PRINT" SCROLLING ABOUT 8 TIMES. [208]RESSING ANY" 1850 PRINT" OTHER KEY OR JOYSTICK MOVEMENT WILL" 1860 ME$="[212]HIS IS A DEMO OF THE SCROLLING MESSAGE ROUTINE......[212]RY SOME OTHER" 1870 ME$=ME$+" SETTINGS....." 1880 PRINT" TEMPORARILY HALT THE MESSAGE." 1890 SYS AT,1,16,"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]" 1900 SYS AT,1,17," " 1910 SYS AT,1,18,"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]" 1920 SYS AT,1,11,"[204]ENGTH: (1-38)";:INPUTL 1930 IF L<1 THEN L=1 1940 IF L>38 THEN L=38 1950 INPUT " [211]PEED: (1-255)";S 1960 INPUT " [198]LAG: (0/1)";F 1970 X=(40-L)/2 1980 SYS RV,X,17,L:SYS PU,X,17,L,40,0 1990 PRINT"";:SYS SC,ME,X,17,L,S,F 2000 PRINT:INPUT" [212]EST [193]GAIN Y[157][157][157]";K$ 2010 IF K$="Y" THEN 1890 2100 PRINT"[147][212]HE [197]ND..." 2110 PRINT" [183][183][183][183][183][183][183][183][183][183]" 2120 PRINT" [206]OW YOU HAVE SEEN THE DIFFERENT" 2130 PRINT" ROUTINES, YOU CAN USE THEM IN YOUR OWN" 2140 PRINT" PROGRAMS TO SPICE THEM UP. [201]F YOU" 2150 PRINT" DON'T UNDERSTAND EXACTLY HOW TO USE" 2160 PRINT" ANY ROUTINE, EITHER RUN THIS PROGRAM" 2170 PRINT" AGAIN, OR [204][201][211][212] IT AND SEE HOW IT DOES" 2180 PRINT" THE ROUTINE." 2190 PRINT" [198]OR YET MORE INFORMATION ON THESE" 2200 PRINT" ROUTINES AND THE OTHER ONES USED IN" 2210 PRINT" [199]ALACTIC [197]NCOUNTER, [204][207][193][196]"Q$"[199].*"Q$",8,1" 2220 PRINT" AND SELECT [197]XTRA [201]NFO." 2230 PRINT"[212]RY SPOTTING WHERE THESE ROUTINES ARE" 2240 PRINT" USED IN [199]ALACTIC [197]NCOUNTER!" 2250 PRINT"[199][207][207][196] [204][213][195][203]!!" 2260 INPUT " [196]O YOU WANT TO RUN THIS AGAIN N[157][157][157]";K$ 2270 IF LEFT$(K$,1)="Y" THEN 110 2280 PRINT"[147][194]YE!!":SYS FX,0 2290 SYS PU,1,1,5,20,0:GOTO 2290 4000 FOR Y=1 TO 8 4010 SYS RT,1,2,22,P,1 4020 NEXT:RETURN 5000 SYS AT,13,24,"[144][208]RESS A [203]EY..."; 5010 POKE 198,0 5020 GET K$:IF K$="" THEN 5020 5030 SYS AT,13,24,"[146] "; 5040 RETURN 10000 AT=49152 10010 SI=AT+3:SE=SI+3:FX=SE+3:PU=FX+3 10020 CS=PU+3:RV=CS+3:SC=RV+3 10030 Q$=CHR$(34) 10040 FOR A=0 TO 191:POKE 832+A,PEEK(29504+A):NEXT 10050 POKE 53280,0:POKE 53281,15 10060 RETURN